#pragma once
#include <vector>
#include "IStrategy.h"
#include "ITradeEvent.h"
#include <memory>

class TradingSystem
{
private:
	std::vector<std::shared_ptr<IStrategy>> _strategies;

public:
	void Add(std::shared_ptr<IStrategy>& strategy);
	void Run();

private:
	void VisitStrategy(const ITradeEvent& event);
};